/**
 * from表单的验证
 */
// // 设置控件的错误信息显示位置，主要可选的位置有：qtip,title,under,side,[elementId]
// Ext.form.Field.prototype.msgTarget = 'side';
Ext.apply(Ext.form.VTypes, {
	telCheck : function(val, field) {
		var regex = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	telCheckText : "电话号码输入格式不正确,例如021-12345678或0371-2345123!",

	mobileTelCheck : function(val, field) {
		var regex = /^(13[0-9]|15[0|1|2|3|5|6|7|8|9]|17[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|4|5|6|7|8|9])\d{8}$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	mobileTelCheckText : "手机号码必须为11位,例如13834123456",

	emailCheck : function(val, field) {
		var regex = /^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){1,}$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	emailCheckText : "邮箱格式不正确,例如zhaoonline@163.com!",

	postcodeCheck : function(val, field) {
		var regex = /[a-zA-Z0-9]$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	postcodeCheckText : "请输入正确的格式!(可输入大小写字母和数字)",

	compareToSmallData : function(val, field) { // val指这里的文本框值，field指这个文本框组件，大家要明白这个意思
		if (field.confirmTo) { // confirmTo是我们自定义的配置参数，一般用来保存另外的组件的id值
			var confirmTovalue = Ext.get(field.confirmTo).getValue(); // 取得confirmTo的那个id的值
			if (val != "" && confirmTovalue != "") {
				return (val >= confirmTovalue);
			}
		}
		return true;
	},
	compareToBigData : function(val, field) { // val指这里的文本框值，field指这个文本框组件，大家要明白这个意思
		if (field.confirmTo) { // confirmTo是我们自定义的配置参数，一般用来保存另外的组件的id值
			var confirmTovalue = Ext.get(field.confirmTo).getValue(); // 取得confirmTo的那个id的值
			if (val != "" && confirmTovalue != "") {
				return (val <= confirmTovalue);
			}
		}
		return true;
	},

	auctionSpecialValidate : function(val, field) {
		var regex = /^(\d{1,10}.\d{1,10}|\d{1,10})$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	auctionSpecialValidateText : "场次只能为数字!",

	doublePriceValidate : function(val, field) {
		var fieldName = field.fieldName; // 字段名称
		var regex = /^(0|[1-9][0-9]{0,9})(\.[0-9]{1,2})?$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			if (typeof fieldName == "undefined") {
				field.vtypeText = bundle
						.getMsg("contractCollate.DoubleNumberValidate");// "最多10位整数,两位小数!";
			} else {
				field.vtypeText = fieldName
						+ bundle.getMsg("contractCollate.DoubleNumberValidate");// "最多10位整数,两位小数!";
			}
			return false;
		}
		return true;
	},

	/** 身份证校验 */
	cardNoValidate : function(val, field) {
		if (field.confirmTo) {
			var confirmTovalue = Ext.getCmp(field.confirmTo).getValue();
			var regex = /^\d{15}$|^\d{17}(?:\d|x|X)$/;
			if (!Ext.isEmpty(Ext.util.Format.trim(val))
					&& !Ext.isEmpty(Ext.util.Format.trim(confirmTovalue))
					&& confirmTovalue == "1" && !(regex).exec(val)) {
				return false;
			}
		}
		return true;
	},
	cardNoValidateText : "身份证号码必须为15位或18位!",

	remarkValidate : function(val, field) {
		var value = Ext.util.Format.trim(val);
		if (!Ext.isEmpty(value)
				&& value.replace(/[^\x00-\xff]/g, "**").length > 500) {
			field.vtypeText = bundle.getMsg("contractCollate.remarkValidate");
			return false;
		}
		return true;
	},

	nameEnValidate : function(val, field) {
		var value = Ext.util.Format.trim(val);
		if (!Ext.isEmpty(value)
				&& value.replace(/[^\x00-\xff]/g, "**").length > 2000) {
			field.vtypeText = bundle.getMsg("updateAuction.updateAuctionName");
			return false;
		}
		return true;
	},

	validateMinLength : function(value, field) {// 验证文本框中最小输入长度
		var conMinFirmTovalue = field.conMinfirmTo; // 取得conMinfirmTo的值(最小输入长度)
		if (value != "" && conMinFirmTovalue != ""
				&& value.replace(/[^\x00-\xff]/g, "**").length < conMinFirmTovalue) {
			field.vtypeText = "此文本至少输入"
					+ conMinFirmTovalue
					+ "个字符(即"
					+ Math.floor(conMinFirmTovalue / 2)
					+ "个汉字),你已输入"
					+ Math.floor(value.replace(/[^\x00-\xff]/g, "**").length)
					+ "个字符(即"
					+ Math.floor(value.replace(/[^\x00-\xff]/g, "**").length
							/ 2) + "个汉字)!";
			return false;
		}
		return true;
	},
	validateMaxLength : function(value, field) {// 验证文本框中最大输入长度
		var confirmTovalue = field.confirmTo; // 取得confirmTo的值(最大输入长度)
		if (value != "" && confirmTovalue != ""
				&& value.replace(/[^\x00-\xff]/g, "**").length > confirmTovalue) {
			field.vtypeText = "此文本只能输入"
					+ confirmTovalue
					+ "个字符(即"
					+ Math.floor(confirmTovalue / 2)
					+ "个汉字),你已输入"
					+ Math.floor(value.replace(/[^\x00-\xff]/g, "**").length)
					+ "个字符(即"
					+ Math.floor(value.replace(/[^\x00-\xff]/g, "**").length
							/ 2) + "个汉字)!";
			return false;
		}
		return true;
	},
	validateMinMaxLength : function(value, field) {// 验证文本框中输入范围
		var validateMinLength = this.validateMinLength(value, field);
		var validateMaxLength = this.validateMaxLength(value, field);
		if (validateMinLength && validateMaxLength) {
			return true;
		}
		return false;
	},


	integerValidate : function(val, field) {// 正整数校验
		var fieldName = field.fieldName; // 字段名称
		var regex = /^\d+$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			field.vtypeText = bundle
					.getMsg("contractCollate.MustBePositiveInteger");// "必须是正整数!";
			return false;
		}
		return true;
	},
	integerNaturalValidate : function(val, field) {// 正整数校验
		var fieldName = field.fieldName; // 字段名称
		var regex = /^[1-9]\d*$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			field.vtypeText = "必须是大于0正整数！";// "必须是大于0正整数!";
			return false;
		}
		return true;
	},
	
	discountNumberValidate : function(val, field) {
		var regex = /^(?!0(\.0{1,1})?$)(\d(\.\d{1,1})?|10)$/;
		if (!Ext.isEmpty(Ext.util.Format.trim(val)) && !(regex).exec(val)) {
			return false;
		}
		return true;
	},
	discountNumberValidateText : "折扣数必须大于0且不能超过10!"
	
	
	
});
